{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## HR analysis\n",
    "### Introduction :\n",
    "Why are our best and most experienced employees leaving prematurely? Have fun with this database and try to predict which valuable employees will leave next. Fields in the dataset include:\n",
    "* 满意度 (satisfaction_level)\n",
    "* 最近一次评价 (last_evaluation)\n",
    "* 员工所做项目数量 (number_project)\n",
    "* 平均每个月的工作时长 (average_montly_hours)\n",
    "* 入职时间 (time_spend_company)\n",
    "* 是否有工作事故 (Work_accident)\n",
    "* 最近五年是否有晋升 (promotion_last_5years)\n",
    "* 员工部门 (department)\n",
    "* 薪资水平 (salary)\n",
    "* 是否辞职 (left)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 15002 entries, 0 to 15001\n",
      "Data columns (total 10 columns):\n",
      "satisfaction_level       15000 non-null float64\n",
      "last_evaluation          15002 non-null float64\n",
      "number_project           15002 non-null int64\n",
      "average_monthly_hours    15002 non-null int64\n",
      "time_spend_company       15002 non-null int64\n",
      "Work_accident            15002 non-null int64\n",
      "left                     15002 non-null int64\n",
      "promotion_last_5years    15002 non-null int64\n",
      "department               15002 non-null object\n",
      "salary                   15002 non-null object\n",
      "dtypes: float64(2), int64(6), object(2)\n",
      "memory usage: 1.1+ MB\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "from datetime import datetime\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "df = pd.read_csv('HR.csv', error_bad_lines=False)\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(df['satisfaction_level'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>15000.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "      <td>15002.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>0.612839</td>\n",
       "      <td>67.373732</td>\n",
       "      <td>3.802693</td>\n",
       "      <td>201.041728</td>\n",
       "      <td>3.498067</td>\n",
       "      <td>0.144581</td>\n",
       "      <td>0.238235</td>\n",
       "      <td>0.021264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.248623</td>\n",
       "      <td>8164.407524</td>\n",
       "      <td>1.232733</td>\n",
       "      <td>49.941815</td>\n",
       "      <td>1.460053</td>\n",
       "      <td>0.351689</td>\n",
       "      <td>0.426018</td>\n",
       "      <td>0.144267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.090000</td>\n",
       "      <td>0.360000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>96.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>0.440000</td>\n",
       "      <td>0.560000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>156.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>0.640000</td>\n",
       "      <td>0.720000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>200.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>0.820000</td>\n",
       "      <td>0.870000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>245.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>999999.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>310.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       satisfaction_level  last_evaluation  number_project  \\\n",
       "count        15000.000000     15002.000000    15002.000000   \n",
       "mean             0.612839        67.373732        3.802693   \n",
       "std              0.248623      8164.407524        1.232733   \n",
       "min              0.090000         0.360000        2.000000   \n",
       "25%              0.440000         0.560000        3.000000   \n",
       "50%              0.640000         0.720000        4.000000   \n",
       "75%              0.820000         0.870000        5.000000   \n",
       "max              1.000000    999999.000000        7.000000   \n",
       "\n",
       "       average_monthly_hours  time_spend_company  Work_accident          left  \\\n",
       "count           15002.000000        15002.000000   15002.000000  15002.000000   \n",
       "mean              201.041728            3.498067       0.144581      0.238235   \n",
       "std                49.941815            1.460053       0.351689      0.426018   \n",
       "min                96.000000            2.000000       0.000000      0.000000   \n",
       "25%               156.000000            3.000000       0.000000      0.000000   \n",
       "50%               200.000000            3.000000       0.000000      0.000000   \n",
       "75%               245.000000            4.000000       0.000000      0.000000   \n",
       "max               310.000000           10.000000       1.000000      1.000000   \n",
       "\n",
       "       promotion_last_5years  \n",
       "count           15002.000000  \n",
       "mean                0.021264  \n",
       "std                 0.144267  \n",
       "min                 0.000000  \n",
       "25%                 0.000000  \n",
       "50%                 0.000000  \n",
       "75%                 0.000000  \n",
       "max                 1.000000  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 均值，标准差，最小值，下四分位数，二分位数，上四分位数，最大值\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "      <th>department</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.1</td>\n",
       "      <td>0.55</td>\n",
       "      <td>4.0</td>\n",
       "      <td>135</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sales</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>156</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   satisfaction_level  last_evaluation  number_project  average_monthly_hours  \\\n",
       "0                 0.1             0.55             4.0                    135   \n",
       "1                 NaN              NaN             NaN                    156   \n",
       "\n",
       "   time_spend_company  Work_accident  left  promotion_last_5years department  \\\n",
       "0                 3.0            0.0   0.0                    0.0      sales   \n",
       "1                 NaN            NaN   NaN                    NaN        NaN   \n",
       "\n",
       "  salary  \n",
       "0    low  \n",
       "1    NaN  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 众数\n",
    "df.mode()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "satisfaction_level       6.181359e-02\n",
       "last_evaluation          6.665755e+07\n",
       "number_project           1.519630e+00\n",
       "average_monthly_hours    2.494185e+03\n",
       "time_spend_company       2.131754e+00\n",
       "Work_accident            1.236854e-01\n",
       "left                     1.814911e-01\n",
       "promotion_last_5years    2.081307e-02\n",
       "dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 方差\n",
    "df.var()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.47643761717258093"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 偏态系数\n",
    "df['satisfaction_level'].skew()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "偏态系数小于0，说明负偏，大部分值大于均值。也就是说大部分人满意度可以。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.6706959323886252"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 峰态系数\n",
    "df['satisfaction_level'].kurt()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "峰态系数小于0, 说明比正态分布要平缓一些"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array(0.), array(1.), array(0.), array(0.))"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 正态分布 'mvsk'分别为mean, var, skew, kurt\n",
    "stats.norm.stats(moments='mvsk')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3989422804014327"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 正太分布x=0所对应的y值\n",
    "stats.norm.pdf(0.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 从负无穷大到某值的面积\n",
    "stats.norm.ppf(0.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 从负无穷累计概率\n",
    "stats.norm.cdf(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "以上正好两个相反"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 0.67147944,  1.49245366,  1.09946939, -1.45898399, -1.1374231 ,\n",
       "       -0.30219915,  0.37188266, -0.79380948,  0.28815644, -0.59815976])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 10个满足正态分布的数字\n",
    "stats.norm.rvs(size=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array(1.), array(2.), array(2.82842712), array(12.))"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 卡方分布\n",
    "stats.chi2.stats(moments='mvsk', df=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array(0.), array(1.02040816), array(0.), array(0.0625))"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# t分布\n",
    "stats.t.stats(moments='mvsk',df=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array(1.02040816), array(2.14754269), array(2.96302393), array(13.5859894))"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# f分布\n",
    "stats.f.stats(moments='mvsk', dfn=1, dfd=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "      <th>department</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>12188</th>\n",
       "      <td>0.37</td>\n",
       "      <td>0.55</td>\n",
       "      <td>2</td>\n",
       "      <td>152</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>technical</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11568</th>\n",
       "      <td>0.57</td>\n",
       "      <td>0.69</td>\n",
       "      <td>3</td>\n",
       "      <td>212</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>product_mng</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6995</th>\n",
       "      <td>0.18</td>\n",
       "      <td>0.46</td>\n",
       "      <td>5</td>\n",
       "      <td>202</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12902</th>\n",
       "      <td>1.00</td>\n",
       "      <td>0.93</td>\n",
       "      <td>5</td>\n",
       "      <td>231</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>marketing</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4133</th>\n",
       "      <td>0.52</td>\n",
       "      <td>0.80</td>\n",
       "      <td>5</td>\n",
       "      <td>234</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>sales</td>\n",
       "      <td>high</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6155</th>\n",
       "      <td>0.46</td>\n",
       "      <td>0.75</td>\n",
       "      <td>6</td>\n",
       "      <td>276</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11400</th>\n",
       "      <td>0.15</td>\n",
       "      <td>0.75</td>\n",
       "      <td>3</td>\n",
       "      <td>150</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>accounting</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9438</th>\n",
       "      <td>0.65</td>\n",
       "      <td>0.85</td>\n",
       "      <td>4</td>\n",
       "      <td>233</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1747</th>\n",
       "      <td>0.39</td>\n",
       "      <td>0.48</td>\n",
       "      <td>2</td>\n",
       "      <td>159</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>product_mng</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10693</th>\n",
       "      <td>0.73</td>\n",
       "      <td>0.97</td>\n",
       "      <td>4</td>\n",
       "      <td>163</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>sales</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       satisfaction_level  last_evaluation  number_project  \\\n",
       "12188                0.37             0.55               2   \n",
       "11568                0.57             0.69               3   \n",
       "6995                 0.18             0.46               5   \n",
       "12902                1.00             0.93               5   \n",
       "4133                 0.52             0.80               5   \n",
       "6155                 0.46             0.75               6   \n",
       "11400                0.15             0.75               3   \n",
       "9438                 0.65             0.85               4   \n",
       "1747                 0.39             0.48               2   \n",
       "10693                0.73             0.97               4   \n",
       "\n",
       "       average_monthly_hours  time_spend_company  Work_accident  left  \\\n",
       "12188                    152                   3              0     1   \n",
       "11568                    212                   8              0     0   \n",
       "6995                     202                   4              0     0   \n",
       "12902                    231                   2              0     0   \n",
       "4133                     234                   3              0     0   \n",
       "6155                     276                   6              0     0   \n",
       "11400                    150                   4              0     0   \n",
       "9438                     233                   2              0     0   \n",
       "1747                     159                   3              0     1   \n",
       "10693                    163                   3              0     0   \n",
       "\n",
       "       promotion_last_5years   department  salary  \n",
       "12188                      0    technical  medium  \n",
       "11568                      0  product_mng     low  \n",
       "6995                       0      support  medium  \n",
       "12902                      0    marketing  medium  \n",
       "4133                       0        sales    high  \n",
       "6155                       0      support     low  \n",
       "11400                      1   accounting  medium  \n",
       "9438                       0      support     low  \n",
       "1747                       0  product_mng  medium  \n",
       "10693                      0        sales  medium  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 抽样10个\n",
    "df.sample(n=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "      <th>department</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7075</th>\n",
       "      <td>0.30</td>\n",
       "      <td>0.47</td>\n",
       "      <td>6</td>\n",
       "      <td>156</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2991</th>\n",
       "      <td>0.90</td>\n",
       "      <td>0.77</td>\n",
       "      <td>3</td>\n",
       "      <td>156</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>sales</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5616</th>\n",
       "      <td>0.49</td>\n",
       "      <td>0.99</td>\n",
       "      <td>6</td>\n",
       "      <td>205</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>technical</td>\n",
       "      <td>high</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1744</th>\n",
       "      <td>0.40</td>\n",
       "      <td>0.48</td>\n",
       "      <td>2</td>\n",
       "      <td>161</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>IT</td>\n",
       "      <td>medium</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8517</th>\n",
       "      <td>0.15</td>\n",
       "      <td>0.48</td>\n",
       "      <td>6</td>\n",
       "      <td>218</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>technical</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10000</th>\n",
       "      <td>0.93</td>\n",
       "      <td>0.49</td>\n",
       "      <td>4</td>\n",
       "      <td>255</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>management</td>\n",
       "      <td>high</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1606</th>\n",
       "      <td>0.89</td>\n",
       "      <td>0.48</td>\n",
       "      <td>3</td>\n",
       "      <td>178</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>accounting</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5425</th>\n",
       "      <td>0.50</td>\n",
       "      <td>0.51</td>\n",
       "      <td>3</td>\n",
       "      <td>169</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>marketing</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       satisfaction_level  last_evaluation  number_project  \\\n",
       "7075                 0.30             0.47               6   \n",
       "2991                 0.90             0.77               3   \n",
       "5616                 0.49             0.99               6   \n",
       "1744                 0.40             0.48               2   \n",
       "8517                 0.15             0.48               6   \n",
       "10000                0.93             0.49               4   \n",
       "1606                 0.89             0.48               3   \n",
       "5425                 0.50             0.51               3   \n",
       "\n",
       "       average_monthly_hours  time_spend_company  Work_accident  left  \\\n",
       "7075                     156                   2              1     0   \n",
       "2991                     156                   3              0     0   \n",
       "5616                     205                   5              0     0   \n",
       "1744                     161                   3              0     1   \n",
       "8517                     218                   6              0     0   \n",
       "10000                    255                   2              0     0   \n",
       "1606                     178                   5              0     1   \n",
       "5425                     169                   4              0     0   \n",
       "\n",
       "       promotion_last_5years  department  salary  \n",
       "7075                       0     support  medium  \n",
       "2991                       0       sales  medium  \n",
       "5616                       0   technical    high  \n",
       "1744                       0          IT  medium  \n",
       "8517                       0   technical     low  \n",
       "10000                      0  management    high  \n",
       "1606                       0  accounting     low  \n",
       "5425                       0   marketing     low  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 抽样数量百分比\n",
    "df.sample(frac=0.0005)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 satisfaction_level 一列进行异常值分析和分布分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        False\n",
       "1        False\n",
       "2        False\n",
       "3        False\n",
       "4        False\n",
       "5        False\n",
       "6        False\n",
       "7        False\n",
       "8        False\n",
       "9        False\n",
       "10       False\n",
       "11       False\n",
       "12       False\n",
       "13       False\n",
       "14       False\n",
       "15       False\n",
       "16       False\n",
       "17       False\n",
       "18       False\n",
       "19       False\n",
       "20       False\n",
       "21       False\n",
       "22       False\n",
       "23       False\n",
       "24       False\n",
       "25       False\n",
       "26       False\n",
       "27       False\n",
       "28       False\n",
       "29       False\n",
       "         ...  \n",
       "14972    False\n",
       "14973    False\n",
       "14974    False\n",
       "14975    False\n",
       "14976    False\n",
       "14977    False\n",
       "14978    False\n",
       "14979    False\n",
       "14980    False\n",
       "14981    False\n",
       "14982    False\n",
       "14983    False\n",
       "14984    False\n",
       "14985    False\n",
       "14986    False\n",
       "14987    False\n",
       "14988    False\n",
       "14989    False\n",
       "14990    False\n",
       "14991    False\n",
       "14992    False\n",
       "14993    False\n",
       "14994    False\n",
       "14995    False\n",
       "14996    False\n",
       "14997    False\n",
       "14998    False\n",
       "14999     True\n",
       "15000     True\n",
       "15001    False\n",
       "Name: satisfaction_level, Length: 15002, dtype: bool"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl = df['satisfaction_level']\n",
    "sl.isnull()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "14999   NaN\n",
       "15000   NaN\n",
       "Name: satisfaction_level, dtype: float64"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl[sl.isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "      <th>department</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>14999</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.52</td>\n",
       "      <td>2</td>\n",
       "      <td>158</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>999999.00</td>\n",
       "      <td>2</td>\n",
       "      <td>158</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>sale</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       satisfaction_level  last_evaluation  number_project  \\\n",
       "14999                 NaN             0.52               2   \n",
       "15000                 NaN        999999.00               2   \n",
       "\n",
       "       average_monthly_hours  time_spend_company  Work_accident  left  \\\n",
       "14999                    158                   3              0     1   \n",
       "15000                    158                   3              0     1   \n",
       "\n",
       "       promotion_last_5years department salary  \n",
       "14999                      0    support    low  \n",
       "15000                      0       sale    low  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['satisfaction_level'].isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], Name: satisfaction_level, dtype: float64)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# fillna\n",
    "sl = sl.dropna()\n",
    "sl[sl.isnull()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "异常值去掉了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6128393333333343"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.09"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.06181358575860858"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.var()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.64"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.44"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.quantile(q=0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.82"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.quantile(q=0.75)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上面数据看出去掉异常值后分布还算正常"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.47643761717258093"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.skew()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.6706959323886252"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sl.kurt()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 195, 1214,  532,  974, 1668, 2146, 1973, 2074, 2220, 2004]),\n",
       " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]))"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 直方图, 把连续值分成10份\n",
    "np.histogram(sl.values, bins=np.arange(0.0, 1.1, 0.1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大部分值集中在后半部分，符合偏态系数小于0的结果"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 last_evaluation 一列进行异常值分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], Name: last_evaluation, dtype: float64)"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le = df['last_evaluation']\n",
    "le[le.isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "67.37373216904412"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8164.407523745649"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.72"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "999999.0"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.max()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从分析结果得出肯定有异常大值对所有数据产生了影响"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15000    999999.0\n",
       "Name: last_evaluation, dtype: float64"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le[le>1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "仅有一值偏离正常"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        0.53\n",
       "1        0.86\n",
       "2        0.88\n",
       "3        0.87\n",
       "4        0.52\n",
       "5        0.50\n",
       "6        0.77\n",
       "7        0.85\n",
       "8        1.00\n",
       "9        0.53\n",
       "10       0.54\n",
       "11       0.81\n",
       "12       0.92\n",
       "13       0.55\n",
       "14       0.56\n",
       "15       0.54\n",
       "16       0.47\n",
       "17       0.99\n",
       "18       0.51\n",
       "19       0.89\n",
       "20       0.83\n",
       "21       0.55\n",
       "22       0.95\n",
       "23       0.57\n",
       "24       0.53\n",
       "25       0.92\n",
       "26       0.87\n",
       "27       0.49\n",
       "28       0.46\n",
       "29       0.50\n",
       "         ... \n",
       "14971    0.45\n",
       "14972    0.97\n",
       "14973    0.52\n",
       "14974    0.54\n",
       "14975    0.79\n",
       "14976    0.47\n",
       "14977    0.85\n",
       "14978    0.47\n",
       "14979    0.93\n",
       "14980    0.89\n",
       "14981    0.93\n",
       "14982    0.49\n",
       "14983    0.84\n",
       "14984    0.56\n",
       "14985    0.99\n",
       "14986    0.85\n",
       "14987    0.70\n",
       "14988    0.55\n",
       "14989    0.57\n",
       "14990    0.88\n",
       "14991    0.81\n",
       "14992    0.48\n",
       "14993    0.83\n",
       "14994    0.57\n",
       "14995    0.48\n",
       "14996    0.53\n",
       "14997    0.96\n",
       "14998    0.52\n",
       "14999    0.52\n",
       "15001    0.40\n",
       "Name: last_evaluation, Length: 15001, dtype: float64"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le = le[le<=1]\n",
    "le"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 换一种提取异常值方法  根据上四分位数和下四分位数判断"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0        0.53\n",
       "1        0.86\n",
       "2        0.88\n",
       "3        0.87\n",
       "4        0.52\n",
       "5        0.50\n",
       "6        0.77\n",
       "7        0.85\n",
       "8        1.00\n",
       "9        0.53\n",
       "10       0.54\n",
       "11       0.81\n",
       "12       0.92\n",
       "13       0.55\n",
       "14       0.56\n",
       "15       0.54\n",
       "16       0.47\n",
       "17       0.99\n",
       "18       0.51\n",
       "19       0.89\n",
       "20       0.83\n",
       "21       0.55\n",
       "22       0.95\n",
       "23       0.57\n",
       "24       0.53\n",
       "25       0.92\n",
       "26       0.87\n",
       "27       0.49\n",
       "28       0.46\n",
       "29       0.50\n",
       "         ... \n",
       "14971    0.45\n",
       "14972    0.97\n",
       "14973    0.52\n",
       "14974    0.54\n",
       "14975    0.79\n",
       "14976    0.47\n",
       "14977    0.85\n",
       "14978    0.47\n",
       "14979    0.93\n",
       "14980    0.89\n",
       "14981    0.93\n",
       "14982    0.49\n",
       "14983    0.84\n",
       "14984    0.56\n",
       "14985    0.99\n",
       "14986    0.85\n",
       "14987    0.70\n",
       "14988    0.55\n",
       "14989    0.57\n",
       "14990    0.88\n",
       "14991    0.81\n",
       "14992    0.48\n",
       "14993    0.83\n",
       "14994    0.57\n",
       "14995    0.48\n",
       "14996    0.53\n",
       "14997    0.96\n",
       "14998    0.52\n",
       "14999    0.52\n",
       "15001    0.40\n",
       "Name: last_evaluation, Length: 15001, dtype: float64"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le_s = df['last_evaluation']\n",
    "q_low = le_s.quantile(q=0.25)\n",
    "q_high = le_s.quantile(q=0.75)\n",
    "q_interval = q_high-q_low\n",
    "# 允许型变参数 k = 1.5 ,2, 3都满足，因为异常值差距太大了\n",
    "k = 1.5\n",
    "le_s = le_s[le_s<q_high+k*q_interval][le_s>q_low-k*q_interval]\n",
    "le_s"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "异常值第 15000 行也被删除掉了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15001"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(le_s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15001"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(le)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([   0,    0,    0,  179, 1390, 3396, 2234, 2062, 2752, 2988]),\n",
       " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]))"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.histogram(le.values, bins=np.arange(0.0, 1.1, 0.1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.7160675954936238"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.17118464250786247"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.72"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.02653253746872579"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.skew()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.2390454655108427"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "le.kurt()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在看来指标都还算正常了"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 number_project 一列静态结构分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], Name: number_project, dtype: int64)"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s = df['number_project']\n",
    "np_s[np_s.isnull()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.8026929742700974"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.2327327792005955"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.0"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3377744235231047"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.skew()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "偏态系数为正，说明大部分人项目的数量是小于均值的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.49580962709450604"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np_s.kurt()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2    2391\n",
       "3    4055\n",
       "4    4365\n",
       "5    2761\n",
       "6    1174\n",
       "7     256\n",
       "Name: number_project, dtype: int64"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 针对离散值做简单统计\n",
    "np_s.value_counts().sort_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2    0.159379\n",
       "3    0.270297\n",
       "4    0.290961\n",
       "5    0.184042\n",
       "6    0.078256\n",
       "7    0.017064\n",
       "Name: number_project, dtype: float64"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 获得统计比例\n",
    "np_s.value_counts(normalize=True).sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 average_monthly_hours 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "201.0417277696307"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh = df['average_monthly_hours']\n",
    "amh.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "49.94181527437911"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "310"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.max()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "96"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.min()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.05322458779916304"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.skew()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-1.1350158577565719"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.kurt()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15002"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "q_low = amh.quantile(0.25)\n",
    "q_high = amh.quantile(0.75)\n",
    "q_inter = q_high-q_low\n",
    "amh=amh[amh< q_high+1.5*(q_high-q_low)][amh>q_low-1.5*(q_high-q_low)]\n",
    "len(amh)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 168,  171,  147,  807, 1153, 1234, 1075,  824,  818,  758,  751,\n",
       "         738,  856,  824,  987, 1002, 1045,  935,  299,  193,  131,   86]),\n",
       " array([ 96, 106, 116, 126, 136, 146, 156, 166, 176, 186, 196, 206, 216,\n",
       "        226, 236, 246, 256, 266, 276, 286, 296, 306, 316]))"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 从最小值开始开始分布，步长为10\n",
    "np.histogram(amh.values, bins=np.arange(amh.min(), amh.max()+10, 10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(95.999, 106.0]     187\n",
       "(106.0, 116.0]      162\n",
       "(116.0, 126.0]      162\n",
       "(126.0, 136.0]      886\n",
       "(136.0, 146.0]     1159\n",
       "(146.0, 156.0]     1277\n",
       "(156.0, 166.0]      995\n",
       "(166.0, 176.0]      832\n",
       "(176.0, 186.0]      813\n",
       "(186.0, 196.0]      761\n",
       "(196.0, 206.0]      755\n",
       "(206.0, 216.0]      731\n",
       "(216.0, 226.0]      873\n",
       "(226.0, 236.0]      814\n",
       "(236.0, 246.0]     1006\n",
       "(246.0, 256.0]      987\n",
       "(256.0, 266.0]     1063\n",
       "(266.0, 276.0]      860\n",
       "(276.0, 286.0]      319\n",
       "(286.0, 296.0]      164\n",
       "(296.0, 306.0]      128\n",
       "(306.0, 316.0]       68\n",
       "Name: average_monthly_hours, dtype: int64"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "amh.value_counts(bins=np.arange(amh.min(), amh.max()+10, 10)).sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "同样是直方图统计，两种方法有一定差别。第一种是左闭右开，第二种是左开右闭。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 time_spend_company 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2     3245\n",
       "3     6445\n",
       "4     2557\n",
       "5     1473\n",
       "6      718\n",
       "7      188\n",
       "8      162\n",
       "10     214\n",
       "Name: time_spend_company, dtype: int64"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tsc = df['time_spend_company']\n",
    "tsc.value_counts().sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大部分员工工作三年左右"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 Work_accident 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.855419\n",
       "1    0.144581\n",
       "Name: Work_accident, dtype: float64"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wa = df['Work_accident']\n",
    "wa.value_counts(normalize=True).sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大部分人工作期间是没有事故的, 事故率为0.144"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 left 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    11428\n",
       "1     3574\n",
       "Name: left, dtype: int64"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "l = df['left']\n",
    "l.value_counts().sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 promotion_last_5years 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    14683\n",
       "1      319\n",
       "Name: promotion_last_5years, dtype: int64"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pl5 = df['promotion_last_5years']\n",
    "pl5.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "大部分人5年内得到了晋升"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 salary 一列分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "low       7318\n",
       "medium    6446\n",
       "high      1237\n",
       "nme          1\n",
       "Name: salary, dtype: int64"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sa = df['salary']\n",
    "sa.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有一行异常值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0           low\n",
       "1        medium\n",
       "2        medium\n",
       "3           low\n",
       "4           low\n",
       "5           low\n",
       "6           low\n",
       "7           low\n",
       "8           low\n",
       "9           low\n",
       "10          low\n",
       "11          low\n",
       "12          low\n",
       "13          low\n",
       "14          low\n",
       "15          low\n",
       "16          low\n",
       "17          low\n",
       "18          low\n",
       "19          low\n",
       "20          low\n",
       "21          low\n",
       "22          low\n",
       "23          low\n",
       "24          low\n",
       "25          low\n",
       "26          low\n",
       "27          low\n",
       "28          low\n",
       "29          low\n",
       "          ...  \n",
       "14971    medium\n",
       "14972    medium\n",
       "14973    medium\n",
       "14974    medium\n",
       "14975    medium\n",
       "14976    medium\n",
       "14977    medium\n",
       "14978    medium\n",
       "14979    medium\n",
       "14980      high\n",
       "14981       low\n",
       "14982    medium\n",
       "14983    medium\n",
       "14984    medium\n",
       "14985    medium\n",
       "14986       low\n",
       "14987       low\n",
       "14988       low\n",
       "14989       low\n",
       "14990       low\n",
       "14991       low\n",
       "14992       low\n",
       "14993       low\n",
       "14994       low\n",
       "14995       low\n",
       "14996       low\n",
       "14997       low\n",
       "14998       low\n",
       "14999       low\n",
       "15000       low\n",
       "Name: salary, Length: 15001, dtype: object"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sa.where(sa != 'nme').dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "low       0.487834\n",
       "medium    0.429705\n",
       "high      0.082461\n",
       "Name: salary, dtype: float64"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sa.where(sa != 'nme').dropna().value_counts(normalize=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "还是中低收入占绝大多数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 对 department 一列 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sales          0.275963\n",
       "technical      0.181309\n",
       "support        0.148647\n",
       "IT             0.081789\n",
       "product_mng    0.060125\n",
       "marketing      0.057192\n",
       "RandD          0.052460\n",
       "accounting     0.051127\n",
       "hr             0.049260\n",
       "management     0.041994\n",
       "sale           0.000133\n",
       "Name: department, dtype: float64"
      ]
     },
     "execution_count": 121,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dep = df['department']\n",
    "dep.value_counts(normalize=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "sale应该是sales，属于异常值，删掉即可"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sales          0.276000\n",
       "technical      0.181333\n",
       "support        0.148667\n",
       "IT             0.081800\n",
       "product_mng    0.060133\n",
       "marketing      0.057200\n",
       "RandD          0.052467\n",
       "accounting     0.051133\n",
       "hr             0.049267\n",
       "management     0.042000\n",
       "Name: department, dtype: float64"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dep = dep.where(dep != 'sale').dropna()\n",
    "dep.value_counts(normalize=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对所有数据进行聚合处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "      <th>department</th>\n",
       "      <th>salary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>14995</th>\n",
       "      <td>0.37</td>\n",
       "      <td>0.48</td>\n",
       "      <td>2</td>\n",
       "      <td>160</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14996</th>\n",
       "      <td>0.37</td>\n",
       "      <td>0.53</td>\n",
       "      <td>2</td>\n",
       "      <td>143</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14997</th>\n",
       "      <td>0.11</td>\n",
       "      <td>0.96</td>\n",
       "      <td>6</td>\n",
       "      <td>280</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14998</th>\n",
       "      <td>0.37</td>\n",
       "      <td>0.52</td>\n",
       "      <td>2</td>\n",
       "      <td>158</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>support</td>\n",
       "      <td>low</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15001</th>\n",
       "      <td>0.70</td>\n",
       "      <td>0.40</td>\n",
       "      <td>2</td>\n",
       "      <td>158</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>sale</td>\n",
       "      <td>nme</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       satisfaction_level  last_evaluation  number_project  \\\n",
       "14995                0.37             0.48               2   \n",
       "14996                0.37             0.53               2   \n",
       "14997                0.11             0.96               6   \n",
       "14998                0.37             0.52               2   \n",
       "15001                0.70             0.40               2   \n",
       "\n",
       "       average_monthly_hours  time_spend_company  Work_accident  left  \\\n",
       "14995                    160                   3              0     1   \n",
       "14996                    143                   3              0     1   \n",
       "14997                    280                   4              0     1   \n",
       "14998                    158                   3              0     1   \n",
       "15001                    158                   2              0     1   \n",
       "\n",
       "       promotion_last_5years department salary  \n",
       "14995                      0    support    low  \n",
       "14996                      0    support    low  \n",
       "14997                      0    support    low  \n",
       "14998                      0    support    low  \n",
       "15001                      0       sale    nme  "
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.dropna(axis=0, how='any')\n",
    "df.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据过滤\n",
    "df=df[df['last_evaluation']<1][df['salary']!='nme'][df['department']!='sale']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>satisfaction_level</th>\n",
       "      <th>last_evaluation</th>\n",
       "      <th>number_project</th>\n",
       "      <th>average_monthly_hours</th>\n",
       "      <th>time_spend_company</th>\n",
       "      <th>Work_accident</th>\n",
       "      <th>left</th>\n",
       "      <th>promotion_last_5years</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>department</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>IT</th>\n",
       "      <td>0.617586</td>\n",
       "      <td>0.713797</td>\n",
       "      <td>3.814662</td>\n",
       "      <td>201.962109</td>\n",
       "      <td>3.464580</td>\n",
       "      <td>0.134267</td>\n",
       "      <td>0.220758</td>\n",
       "      <td>0.002471</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RandD</th>\n",
       "      <td>0.620286</td>\n",
       "      <td>0.705766</td>\n",
       "      <td>3.857143</td>\n",
       "      <td>200.055844</td>\n",
       "      <td>3.353247</td>\n",
       "      <td>0.172727</td>\n",
       "      <td>0.142857</td>\n",
       "      <td>0.035065</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>accounting</th>\n",
       "      <td>0.579380</td>\n",
       "      <td>0.708208</td>\n",
       "      <td>3.811321</td>\n",
       "      <td>200.698113</td>\n",
       "      <td>3.495957</td>\n",
       "      <td>0.126685</td>\n",
       "      <td>0.258760</td>\n",
       "      <td>0.016173</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hr</th>\n",
       "      <td>0.595138</td>\n",
       "      <td>0.703636</td>\n",
       "      <td>3.639118</td>\n",
       "      <td>198.001377</td>\n",
       "      <td>3.330579</td>\n",
       "      <td>0.121212</td>\n",
       "      <td>0.282369</td>\n",
       "      <td>0.020661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>management</th>\n",
       "      <td>0.619791</td>\n",
       "      <td>0.720000</td>\n",
       "      <td>3.848631</td>\n",
       "      <td>200.880837</td>\n",
       "      <td>4.305958</td>\n",
       "      <td>0.161031</td>\n",
       "      <td>0.138486</td>\n",
       "      <td>0.111111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>marketing</th>\n",
       "      <td>0.616335</td>\n",
       "      <td>0.710830</td>\n",
       "      <td>3.686833</td>\n",
       "      <td>199.157770</td>\n",
       "      <td>3.548043</td>\n",
       "      <td>0.161329</td>\n",
       "      <td>0.234875</td>\n",
       "      <td>0.051008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_mng</th>\n",
       "      <td>0.618225</td>\n",
       "      <td>0.710910</td>\n",
       "      <td>3.800000</td>\n",
       "      <td>199.782022</td>\n",
       "      <td>3.471910</td>\n",
       "      <td>0.146067</td>\n",
       "      <td>0.216854</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sales</th>\n",
       "      <td>0.611716</td>\n",
       "      <td>0.704070</td>\n",
       "      <td>3.766067</td>\n",
       "      <td>200.546417</td>\n",
       "      <td>3.518099</td>\n",
       "      <td>0.142822</td>\n",
       "      <td>0.237872</td>\n",
       "      <td>0.024132</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>support</th>\n",
       "      <td>0.616158</td>\n",
       "      <td>0.719076</td>\n",
       "      <td>3.796996</td>\n",
       "      <td>200.674101</td>\n",
       "      <td>3.380519</td>\n",
       "      <td>0.157032</td>\n",
       "      <td>0.243514</td>\n",
       "      <td>0.009103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>technical</th>\n",
       "      <td>0.603390</td>\n",
       "      <td>0.713948</td>\n",
       "      <td>3.865008</td>\n",
       "      <td>201.907617</td>\n",
       "      <td>3.379336</td>\n",
       "      <td>0.139894</td>\n",
       "      <td>0.245475</td>\n",
       "      <td>0.010558</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             satisfaction_level  last_evaluation  number_project  \\\n",
       "department                                                         \n",
       "IT                     0.617586         0.713797        3.814662   \n",
       "RandD                  0.620286         0.705766        3.857143   \n",
       "accounting             0.579380         0.708208        3.811321   \n",
       "hr                     0.595138         0.703636        3.639118   \n",
       "management             0.619791         0.720000        3.848631   \n",
       "marketing              0.616335         0.710830        3.686833   \n",
       "product_mng            0.618225         0.710910        3.800000   \n",
       "sales                  0.611716         0.704070        3.766067   \n",
       "support                0.616158         0.719076        3.796996   \n",
       "technical              0.603390         0.713948        3.865008   \n",
       "\n",
       "             average_monthly_hours  time_spend_company  Work_accident  \\\n",
       "department                                                              \n",
       "IT                      201.962109            3.464580       0.134267   \n",
       "RandD                   200.055844            3.353247       0.172727   \n",
       "accounting              200.698113            3.495957       0.126685   \n",
       "hr                      198.001377            3.330579       0.121212   \n",
       "management              200.880837            4.305958       0.161031   \n",
       "marketing               199.157770            3.548043       0.161329   \n",
       "product_mng             199.782022            3.471910       0.146067   \n",
       "sales                   200.546417            3.518099       0.142822   \n",
       "support                 200.674101            3.380519       0.157032   \n",
       "technical               201.907617            3.379336       0.139894   \n",
       "\n",
       "                 left  promotion_last_5years  \n",
       "department                                    \n",
       "IT           0.220758               0.002471  \n",
       "RandD        0.142857               0.035065  \n",
       "accounting   0.258760               0.016173  \n",
       "hr           0.282369               0.020661  \n",
       "management   0.138486               0.111111  \n",
       "marketing    0.234875               0.051008  \n",
       "product_mng  0.216854               0.000000  \n",
       "sales        0.237872               0.024132  \n",
       "support      0.243514               0.009103  \n",
       "technical    0.245475               0.010558  "
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby('department').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>last_evaluation</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>department</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>IT</th>\n",
       "      <td>0.713797</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RandD</th>\n",
       "      <td>0.705766</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>accounting</th>\n",
       "      <td>0.708208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hr</th>\n",
       "      <td>0.703636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>management</th>\n",
       "      <td>0.720000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>marketing</th>\n",
       "      <td>0.710830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>product_mng</th>\n",
       "      <td>0.710910</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sales</th>\n",
       "      <td>0.704070</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>support</th>\n",
       "      <td>0.719076</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>technical</th>\n",
       "      <td>0.713948</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             last_evaluation\n",
       "department                  \n",
       "IT                  0.713797\n",
       "RandD               0.705766\n",
       "accounting          0.708208\n",
       "hr                  0.703636\n",
       "management          0.720000\n",
       "marketing           0.710830\n",
       "product_mng         0.710910\n",
       "sales               0.704070\n",
       "support             0.719076\n",
       "technical           0.713948"
      ]
     },
     "execution_count": 130,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[:, ['last_evaluation', 'department']].groupby('department').mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 自定义聚合函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "department\n",
       "IT             212\n",
       "RandD          210\n",
       "accounting     213\n",
       "hr             212\n",
       "management     210\n",
       "marketing      214\n",
       "product_mng    212\n",
       "sales          214\n",
       "support        214\n",
       "technical      213\n",
       "Name: average_monthly_hours, dtype: int64"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[:, ['average_monthly_hours', 'department']].groupby('department')['average_monthly_hours'].apply(lambda x: x.max()-x.min())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAAEoCAYAAAAE6cViAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XlcFVXjx/EPqJC4IKDlmjuo6WURRVJxKS1FXCgLU1MzF3xc0qeUJLUQtxb3NLVcKndcSM1yedK0hNQKXMoFE5WkFBAFUUDu7w9/3ryhBsnixe/79epV95wzM+cw2pczc+6MldFoNCIiIvKAsy7sDoiIiOSEAktERCyCAktERCyCAktERCyCAktERCyCAktERCyCAktERCyCAkskn1y7do2ZM2fSvn17DAYDXl5ePPfcc3z66afZ2qanp+Pl5YXBYCAxMTFbfVBQEH379v3HYx4+fJj69evTrVu3O9a3bdsWFxcXXFxcaNSoEe3atWPGjBmkp6cDkJSURIsWLXjvvfeybfvpp5/i7u5ObGzsP/ZDJD8UL+wOiBRVb7/9NpGRkQQHB+Pi4kJqaipHjx7l999/z9b266+/pkqVKjg5ObFhwwb69+//r465evVqevTowebNmzl06BCNGjXK1mbAgAH06dOHjIwMoqKiCA4Oxmg0MmrUKBwcHJg2bRoDBgygdevWNGnSBICYmBg++OAD3nrrLapXr/6v+iZyvxRYIvlkx44dvPbaazz99NOmsnr16t2x7erVq+natSvly5dn1qxZ/yqwUlJS2Lx5MytXriQrK4s1a9bcMbDs7OyoUKECAJUrV+bLL79k7969jBo1CoDmzZvTq1cvxowZwxdffIGtrS1vvPEGPj4+dO/ePdf9EskruiQokk8qVKjAnj17uHTp0j3bxcTE8PPPP9OpUyeefvppkpKSiIyMzPXxNm3aRI0aNahXrx7+/v5s3ryZ1NTUe25z9OhRDh48SIkSJczKX3/9dUqVKkVISAhz587l4sWLTJw4Mdd9EslLCiyRfBIaGsrx48fx9vbGz8+PcePGsWPHDv7++M7Vq1fTqlUrHB0dsbGxoWPHjqxZsybXx1uzZg1du3YFwGAwULlyZTZv3pyt3bx583B3d6dhw4Z069aNS5cuMWDAALM2NjY2vP/++2zdupVFixYxbdo0ypUrl+s+ieQlBZZIPmncuDHbt29n+fLldOvWjYsXLzJ8+HACAwNNoXX9+nXCw8PNFkn4+/uzbds2kpKScnys6Ohojh8/jp+fn6msa9eurF69Olvbnj17snHjRlasWEHbtm3p2bOn2WXLW1xcXGjfvj2NGzfG29s7N0MXyRe6hyWSj4oXL46HhwceHh688sorhIeHM3r0aPbv30/Tpk356quvuHTpEsOHDzfb7saNG2zcuJF+/frl6DirV68mMzOTFi1amMqMRiNZWVkcOXKEJ554wlRub29vWjgxa9Ysnn32WZ544gnT7Ox2JUqUoFixYv9m6CJ5ToElUoBq164NQEJCAnAzaPz9/bMFU3h4OGvWrMlRYKWkpPDll18yfvx406q+W0JDQ1m9ejUhISF33NbGxoZBgwbx3nvv0b59e+zs7P7NsEQKhC4JiuSTXr16sXLlSg4dOkRcXBz79u3jnXfeoWzZsnh5eXHy5EkOHjzIc889h7Ozs9k/AQEBnDp1iv3795v2d/XqVX755Rezf2JiYggPDwe44346d+7M5s2buXr16l37eWtmtWzZsvz9gYjcJ82wRPKJj48PmzZtYvbs2aSkpODk5ISnpydTpkzB0dGRefPm8eijj9K4ceNs21arVo2GDRuyevVq06wpKioq22W7mjVrYmtrS5s2bXjkkUey7addu3a8/fbbbNmy5a5L0m1tbenVqxeffPIJPXr00OIKeWBZ6Y3DIiJiCXRJUERELIICS0RELIICS0RELIICS0RELIICS0RELIICS0RELIK+h5ULWVlGMjNvFHY38pyNzc0/BunpmYXcE/k3dP4sV1E/d8WLF8Pa2irv9pdne3oIZGbeIDk5rbC7kecqVCgDUCTH9jDQ+bNcRf3c2duXNIVyXtAlQRERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgKLBERsQgFGliXL19m7NixNG/eHHd3dwICAti/f7+pPioqCn9/fxo1akTHjh3ZvXu32fapqakEBQXh4eGBl5cXU6dO5cYN81fWr1u3jrZt22IwGOjduzexsbEFMjYREclfBRpYU6ZM4ciRI8ybN4/w8HAaNWrEoEGDuHLl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hdOnTxdehyyAAush0aJFCypXrkxQUBDHjx9n9+7dzJkzhz59+pjauLu7c+nSJfbv32+6X+Xp6cmXX35J48aNC6vrD43atWvTvn17RowYwd69ezl79iw//PAD77zzjimUAgICmDNnDvv27ePXX39l3LhxPPLII3fdp6enJ7GxsaxevZrTp08zffp04uLiCmpIcg89evTg008/ZceOHcTExDB+/HisrKxyNOt6WOmS4EPC2tqaefPm8c477/D8889TqlQp/P39eeWVV0xtSpcujYuLC9evX8fBwQG4+T+8hQsXasFFAXn//feZMWMGb775JklJSTz22GO0aNECW1tbAAYPHkx8fDyBgYGUKVOG11577Z4B5OzsTFBQEHPmzOG9994jICCAdu3aFdRw5B78/f357bffCAoKonjx4rzyyiucPXtWK3HvwcqoC9MiIoXu2rVrtGzZkpCQEDp06FDY3XkgaYYlIlIILl26xJYtW/D29iY9PZ2PPvqIYsWK0bJly8Lu2gNLgSUiUgisra3ZunUr06dPB6Bhw4Z8+umnWtx0D7okKCIiFkGrBEVExCIosERExCIosERExCIosETy2a3XSsTHxxfK8devX0+DBg0K5dguLi6Eh4cXyrGl6FFgiYiIRVBgiViArKws07vKRB5WCiyRf3DgwAECAgJMr/zo3Lkze/bsMdXPmDGDDh064OrqSqtWrRg/fjxXrly56/6MRiNvvfUWTz/9NAaDgaeeeorp06ebvc15zpw5tGvXji+//JJnn32Whg0bsmLFCurXr8/58+fN9rdhwwbc3d1JSUnJ8ZgOHz7MK6+8gru7O82aNWPo0KGmRzydPn0aFxcXfvzxR7Ntbr12JiYmBoDU1FRCQ0Np2bIlrq6udO3alW3btuW4DyK5pcASuYcbN24wZMgQ0xuDN2zYwLBhwyhZsqSpja2tLRMnTmTLli1MnTqVH374gdDQ0Lvu02g04uTkxAcffMCXX37J2LFjWb9+PR999JFZuz///JMVK1YwdepUtmzZQrdu3ahevTrr1q0za7d27Vp8fX1z/IXTkydP0rt3b9zc3AgLC2PZsmVYW1vzyiuvcP36dWrUqIGbmxsbN2402y48PByDwUDt2rUxGo0MHjyYY8eOMWPGDDZv3kyPHj0YNWoU+/bty1E/RHLNKCJ3denSJaOzs7MxIiIix9ts27bN+MQTTxhv3LhhNBqNxoiICKOzs7Px/Pnzd91myZIlxnbt2pk+z5492+ji4mKMi4sza7d48WJj69atTfuOiYkxOjs7G6Oiou6673Xr1hnr169v+jxmzBjja6+9Ztbm+vXrRoPBYNy+fbvRaDQaV6xYYfT09DRev37daDQajenp6UYvLy/j559/bhpTw4YNjZcvXzbbT1BQkDEwMND02dnZ2bhx48a79k0kN/RoJpF7sLe3p3v37vTv359mzZrRtGlTnn76aWrVqmVqs23bNpYtW0ZsbCypqalkZWWRkZHBhQsXeOyxx+643zVr1rB27Vri4uJIS0sjMzMz2wsSy5cvT+XKlc3KunXrxowZM9izZw+tWrVi7dq11KtXD4PBkOMxHTp0iNjY2Gwv5Lx+/brpfUwdO3Zk8uTJ7Ny5kw4dOrB7925SUlLo2LGjaR8ZGRn4+PiY7SMjI4Pq1avnuC8iuaHAEvkHoaGhvPzyy3z33Xd89913zJo1i3HjxhEQEEBUVBQjRoxg4MCBjB49mrJlyxIVFcWYMWPIyMi44/62bt1KSEgI//3vf2nSpAmlS5fmq6++YsaMGWbtbr/seEu5cuV45plnWLt2LU8++SQbN25k6NChuRpPVlYWXbp0YeDAgXfcP9wM6jZt2hAeHk6HDh0IDw+ndevWptfOZGVlUaZMGcLCwrLt4+9vMxbJKwoskRxwdnbG2dmZfv36MX78eNasWUNAQAAHDx7EwcGBkSNHmtp+/fXX99zXgQMHqF+/Pv369TOV5ealii+++CJ9+vRh1apVpKWl0blz51yNpWHDhhw7dozHH3/8ni8L7Nq1K8OGDePUqVPs2rXLLFAbNWrE5cuXuX79Os7Ozrk6vsi/pUUXIvcQGxvLe++9x4EDB4iLi+Onn37i4MGD1K5dG4CaNWuSmJjI2rVrOXv2LBs3bmTFihX33GfNmjU5fvw4O3bs4MyZMyxbtixXq+s8PT2pWbMm06ZNo0OHDpQpUyZXYxo8eDAxMTG8/vrrREdHc/bsWSIiIggNDeXs2bOmdj4+Ptjb2zNq1ChKlSpFq1atTHXNmjXjySefZNiwYWzfvp2zZ89y+PBhPvvsM9asWZOr/ojklAJL5B5KlixJbGwso0aN4plnnmHYsGG4u7szfvx4ANq0acPgwYOZMWMGfn5+bNmyhdGjR99zny+++CJdunRh7NixdO3alejoaIYNG5arfnXv3p2MjAxeeOGFXI+pdu3arFq1iqtXr9K/f398fX0ZN24c169fNwu/4sWL06lTJ3755Rd8fX3NLvVZWVkxf/582rVrx5QpU+jQoQODBg1i165dVKtWLdd9EskJvV5ExAK9++677Nmzh02bNhV2V0QKjGZYIhbkypUrHDhwgLVr15rdAxN5GGjRhYgFGTJkCFFRUXTs2JGuXbsWdndECpQuCYqIiEXQJUEREbEICiwREbEICiwREbEICiwREbEICiwREbEICiwREbEI/wcm4xNnXxnJHwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 条状图\n",
    "plt.title('SALARY')\n",
    "# seaborn 丰富背景\n",
    "sns.set_style(style='darkgrid')\n",
    "# 字体设置\n",
    "sns.set_context(context='poster', font_scale=0.6)\n",
    "# 图形颜色\n",
    "sns.set_palette('summer')\n",
    "plt.xlabel('salary level')\n",
    "plt.ylabel('Number')\n",
    "plt.xticks(np.arange(len(df['salary'].value_counts())), df['salary'].value_counts().index)\n",
    "# 设置x，y轴范围\n",
    "plt.axis([-0.5, 2.5, 0, 9000])\n",
    "# x轴图对应名称\n",
    "plt.bar(np.arange(len(df['salary'].value_counts())), df['salary'].value_counts(), width=0.5)\n",
    "# 把相应数字标注上\n",
    "for x, y in zip(np.arange(len(df['salary'].value_counts())), df['salary'].value_counts()):\n",
    "    plt.text(x, y+100, y, ha='center', va='bottom')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 直方图 \n",
    "f=plt.figure()\n",
    "f.add_subplot(1, 3, 1)\n",
    "sns.distplot(df['satisfaction_level'], bins=10, kde=True, hist=True)\n",
    "f.add_subplot(1, 3, 2)\n",
    "sns.distplot(df['last_evaluation'], bins=10)\n",
    "f.add_subplot(1, 3, 3)\n",
    "sns.distplot(df['average_monthly_hours'], bins=10)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7ffb114f2898>"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 箱线图\n",
    "# whis默认1.5, 上到上四分位，下到下四分位\n",
    "sns.boxplot(y=df['time_spend_company'], saturation=0.75, whis=1.5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 折线图\n",
    "sub_df = df.groupby('time_spend_company').mean()\n",
    "sns.pointplot(sub_df.index, sub_df['left'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出工作五年上下离职率最高"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/f/anaconda3/lib/python3.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7ffb123d8dd8>"
      ]
     },
     "execution_count": 173,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 效果一样\n",
    "sns.pointplot(x='time_spend_company', y='left', data=df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([<matplotlib.patches.Wedge at 0x7ffb13ddf780>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb13ddfeb8>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10a61e10>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10a61b38>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10a47438>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10a47b38>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb13ddf6a0>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb11469940>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10eec128>,\n",
       "  <matplotlib.patches.Wedge at 0x7ffb10eec550>],\n",
       " [Text(0.7765874365271233, 0.9148289203059945, 'sales'),\n",
       "  Text(-0.7329437818113272, 0.8202398507169167, 'technical'),\n",
       "  Text(-1.0794439030861709, -0.21166213664728353, 'support'),\n",
       "  Text(-0.664814488330916, -0.8763684705107222, 'IT'),\n",
       "  Text(-0.21834059626457605, -1.0781128809279803, 'product_mng'),\n",
       "  Text(0.18625757056331738, -1.0841162840801954, 'marketing'),\n",
       "  Text(0.5413003618109361, -0.9575979940994811, 'RandD'),\n",
       "  Text(0.8171031260229451, -0.736439054805984, 'accounting'),\n",
       "  Text(1.0043389117499721, -0.4486684191525873, 'hr'),\n",
       "  Text(1.0903477335836502, -0.1454022691329033, 'management')],\n",
       " [Text(0.45300933797415516, 0.53365020351183, '27.6%'),\n",
       "  Text(-0.399787517351633, 0.44740355493649997, '18.0%'),\n",
       "  Text(-0.5887875835015477, -0.11545207453488192, '14.9%'),\n",
       "  Text(-0.36262608454413603, -0.4780191657331211, '8.2%'),\n",
       "  Text(-0.11909487068976875, -0.5880615714152619, '6.0%'),\n",
       "  Text(0.10159503848908219, -0.5913361549528338, '5.7%'),\n",
       "  Text(0.2952547428059651, -0.522326178599717, '5.2%'),\n",
       "  Text(0.44569261419433365, -0.4016940298941731, '5.0%'),\n",
       "  Text(0.5478212245908939, -0.24472822862868396, '4.9%'),\n",
       "  Text(0.5947351274092637, -0.07931032861794725, '4.2%')])"
      ]
     },
     "execution_count": 184,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 饼图\n",
    "color = sns.color_palette(\"Reds\")\n",
    "label = df['department'].value_counts().index\n",
    "value = df['department'].value_counts(normalize=True)\n",
    "# 突出显示某部分\n",
    "explodes = [0.1 if i=='sales' else 0 for i in label]\n",
    "plt.pie(value, labels=label, autopct=\"%1.1f%%\", colors=color, explode=explodes) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
